home *** CD-ROM | disk | FTP | other *** search
/ Network Supervisor's Toolkit / Network Supervisor's Toolkit.iso / patches / _winfile / wintoo / nsetup.ms_ / nsetup.bin
Text File  |  1996-07-10  |  6KB  |  200 lines

  1. '**************************************************************************
  2. '*                        Novel Nasi Redirection Setup
  3. '**************************************************************************
  4.  
  5. ''$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9. '$INCLUDE 'nsetuph.inc'
  10.  
  11. ''Dialog ID's
  12. CONST WELCOME       = 100
  13. CONST ASKQUIT       = 200
  14. CONST DESTPATH      = 300
  15. CONST EXITFAILURE   = 400
  16. CONST EXITQUIT      = 600
  17. CONST EXITSUCCESS   = 700
  18. CONST OPTIONS       = 800
  19. CONST APPHELP       = 900
  20. CONST BADPATH       = 6400
  21.  
  22. ''Bitmap ID
  23. CONST LOGO = 1
  24.  
  25. GLOBAL DEST$        ''Default destination directory.
  26. GLOBAL OPTCUR$      ''Option selection from option dialog.
  27.  
  28. DECLARE SUB Install
  29. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  30.  
  31. INIT:
  32.     hWnd%  = HwndFrame()
  33.     hInst% = HinstFrame()
  34.     i% = SetupMainWindowParams(hWnd%, hInst%)
  35.     CUIDLL$ = "nsetup.dll"              ''Custom user interface dll
  36.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  37.     SetBitmap CUIDLL$, LOGO
  38.     SetTitle "Win2NCS Novell Nasi Redirection Capability Setup"
  39.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  40.     IF szInf$ = "" THEN
  41.         szInf$ = GetSymbolValue("STF_CWDDIR") + "NSETUP.INF"
  42.     END IF
  43.     ReadInfFile szInf$
  44.     OPTCUR$ = "1"
  45.     DEST$ = "C:\Win2NCS"
  46.  
  47. '$IFDEF DEBUG
  48.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  49.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  50.     IF IsDriveValid(WinDrive$) = 0 THEN
  51.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  52.         GOTO QUIT
  53.     END IF
  54. '$ENDIF ''DEBUG
  55.  
  56. OPTION:
  57.     SetSymbolValue "RadioDefault", OPTCUR$
  58. OPTL1:
  59.     sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
  60.     OPTCUR$ = GetSymbolValue("ButtonChecked")
  61.  
  62.     IF sz$ = "CONTINUE" THEN
  63.         UIPop(1)
  64.     ELSEIF sz$ = "REACTIVATE" THEN
  65.         GOTO OPTL1
  66.     ELSE
  67.         UIPopAll
  68.         ERROR STFQUIT
  69.     END IF
  70.  
  71. GETPATH:
  72.     SetSymbolValue "EditTextIn", DEST$
  73.     SetSymbolValue "EditFocus", "END"
  74. GETPATHL1:
  75.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  76.     DEST$ = GetSymbolValue("EditTextOut")
  77.  
  78.     IF sz$ = "CONTINUE" THEN
  79.         IF IsDirWritable(DEST$) = 0 THEN
  80.             GOSUB BADPATH
  81.             GOTO GETPATHL1
  82.         END IF
  83.         UIPop 1
  84.     ELSEIF sz$ = "REACTIVATE" THEN
  85.         GOTO GETPATHL1
  86.     ELSE
  87.         UIPopAll
  88.         ERROR STFQUIT
  89.     END IF
  90.  
  91.  
  92.     Install
  93.  
  94.  
  95. QUIT:
  96.     ON ERROR GOTO ERRQUIT
  97.  
  98.     IF ERR = 0 THEN
  99.         dlg% = EXITSUCCESS
  100.     ELSEIF ERR = STFQUIT THEN
  101.         dlg% = EXITQUIT
  102.     ELSE
  103.         dlg% = EXITFAILURE
  104.     END IF
  105. QUITL1:
  106.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  107.     IF sz$ = "REACTIVATE" THEN
  108.         GOTO QUITL1
  109.     END IF
  110.     UIPop 1
  111.  
  112.     END
  113.  
  114. ERRQUIT:
  115.     i% = DoMsgBox("Error Trying To Install Files", "Win2NCS Setup", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  116.     END
  117.  
  118.  
  119.  
  120. BADPATH:
  121.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  122.     IF sz$ = "REACTIVATE" THEN
  123.         GOTO BADPATH
  124.     END IF
  125.     UIPop 1
  126.     RETURN
  127.  
  128. '*************************************************************************
  129. '**
  130. '** Purpose:
  131. '**
  132. '**     Builds the copy list and performs all installation operations.
  133. '**
  134. '** Arguments:
  135. '**     none.
  136. '**
  137. '** Returns:
  138. '**     none.
  139. '**
  140. '*************************************************************************
  141.  
  142. SUB Install STATIC
  143.     WinDir$ = string$(256, 32)
  144.     SysDir$ = string$(256, 32)
  145.     i% = GetWindowsDirectory(WinDir$, 255)
  146.     WinDir$ = WinDir$ + "\"
  147.     SysDir$ = WinDir$ + "SYSTEM\"
  148.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  149.     CreateDir DEST$, cmoNone
  150.     i% = DisableNasiRedirection("ATTNASI.EXE")
  151.     AddSectionFilesToCopyList "ApFiles", SrcDir$, DEST$
  152.     AddSectionFilesToCopyList "WinFiles", SrcDir$, WinDir$
  153.     AddSectionFilesToCopyList "WinSysFiles", SrcDir$, SysDir$
  154.     AddSectionFilesToCopyList "NWFiles", SrcDir$, SysDir$
  155.     CopyFilesInCopyList
  156.     ClearCopyList
  157.     CreateProgmanGroup "Win2NCS Nasi Mapping", "", cmoNone
  158.     ShowProgmanGroup   "Win2NCS Nasi Mapping", 1 , cmoNone
  159.     CreateProgmanItem  "Win2NCS Nasi Mapping", "Win2NCS", MakePath(DEST$, "MAPNASI.EXE"), "", cmoOverwrite
  160.     ReadMe$ = "WRITE.EXE " + MakePath(DEST$, "README.WRI")
  161.     CreateProgmanItem  "Win2NCS Nasi Mapping", "Read Me", ReadMe$, "", cmoOverwrite
  162.     j% = 0
  163.     IF OPTCUR$ = "2" THEN
  164.         j% = 1
  165.     END IF
  166.     IF OPTCUR$ = "3" THEN
  167.         j% = 2
  168.     END IF
  169.     i% = SetupUsersINI(DEST$, j%)
  170.     i% = RemoveFileNameFromLoadInINI("ATTNASI.EXE")
  171.     i% = AddFileNameToLoadInINI(MakePath(DEST$, "ATTNASI.EXE"))
  172.     i% = StartExecutingProgram(MakePath(DEST$, "ATTNASI.EXE"))
  173.  
  174. END SUB
  175.  
  176.  
  177.  
  178. '**
  179. '** Purpose:
  180. '**     Appends a file name to the end of a directory path,
  181. '**     inserting a backslash character as needed.
  182. '** Arguments:
  183. '**     szDir$  - full directory path (with optional ending "\")
  184. '**     szFile$ - filename to append to directory
  185. '** Returns:
  186. '**     Resulting fully qualified path name.
  187. '*************************************************************************
  188. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  189.     IF szDir$ = "" THEN
  190.         MakePath = szFile$
  191.     ELSEIF szFile$ = "" THEN
  192.         MakePath = szDir$
  193.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  194.         MakePath = szDir$ + szFile$
  195.     ELSE
  196.         MakePath = szDir$ + "\" + szFile$
  197.     END IF
  198. END FUNCTION
  199.  
  200.